package cn.seocoo.platform.car.mapper;

import cn.seocoo.platform.car.domain.CarInfo;
import cn.seocoo.platform.car.dto.CarDetailDto;
import cn.seocoo.platform.car.dto.CarDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 车辆基本 数据层
 * 
 * @author wujian
 * @date 2019-12-31
 */
public interface CarInfoMapper 
{
	/**
     * 查询车辆基本信息
     * 
     * @param id 车辆基本ID
     * @return 车辆基本信息
     */
	public CarInfo selectCarInfoById(Integer id);
	
	/**
     * 查询车辆基本列表
     * 
     * @param carInfo 车辆基本信息
     * @return 车辆基本集合
     */
	public List<CarInfo> selectCarInfoList(CarInfo carInfo);
	
	/**
     * 新增车辆基本
     * 
     * @param carInfo 车辆基本信息
     * @return 结果
     */
	public int insertCarInfo(CarInfo carInfo);
	
	/**
     * 修改车辆基本
     * 
     * @param carInfo 车辆基本信息
     * @return 结果
     */
	public int updateCarInfo(CarInfo carInfo);
	
	/**
     * 删除车辆基本
     * 
     * @param id 车辆基本ID
     * @return 结果
     */
	public int deleteCarInfoById(Integer id);
	
	/**
     * 批量删除车辆基本
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteCarInfoByIds(String[] ids);

	/**
	 * @Author WuJian
	 * @Description //查询用户发不了多少量车
	 * @Date 11:44 2019/12/31
	 * @Param [id]
	 * @return int
	 **/
	int getCountCarWithAppUserId(Integer appUserId);

    List<CarDto> getCarList(@Param(value="title") String title);

    /**
     * @Author WuJian
     * @Description //查询车辆详情
     * @Date 10:35 2020/1/2
     * @Param [id]
     * @return cn.seocoo.platform.car.dto.CarDetailDto
     **/
    CarDetailDto getCarDetail(@Param(value="id")Integer id);
}